home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FM Towns: Free Software Collection 4
/
FM Towns Free Software Collection 4 - Disc 1.iso
/
fb386
/
pickup
/
knightm3.bas
< prev
next >
Wrap
BASIC Source File
|
1991-10-18
|
12KB
|
233 lines
1 KEY(1) ON:ON KEY(1) GOSUB 65010
10 ' -----------------------------------------------------------
20 ' ---- For F-BASIC 386 V1.1L20 ---
30 ' ----- -----
40 '------ ----
50 ' ----- Music And Programed By SKEMARO---
60 ' ------------------------------------------------------------
70 LOAD@"PDRUMS.PMB"
80 LOAD@"Q:\FJ\FM\FM_1.FMB"
90 GOSUB *めさーじゅ表示:PLAY OFF:BGM 1:FOR I=0 TO 13:PART I,I:NEXT
100 DIM T%(4,9),V%(23),D%(47)
110 TNO%=1 : TNAME$="BRASS-1" : RESTORE 110
120 FOR Y%=0 TO 4 : FOR X%=0 TO 9:READ T%(Y%,X%):NEXT:NEXT:GOSUB *TNCONV
130 '
140 DATA 61, 0, 0, 0, 0, 0, 0, 0, 0, 0
150 DATA 28,15, 6, 7, 1,23, 1, 4, 3, 0
160 DATA 28, 0, 5, 7, 0,12, 0, 3, 4, 0
170 DATA 28, 0, 5, 7, 0,12, 0, 2, 6, 0
180 DATA 28, 0, 5, 7, 0,12, 0, 4, 7, 0
190 TNO%=2 : TNAME$="BASS" : RESTORE 190
200 FOR Y%=0 TO 4 : FOR X%=0 TO 9:READ T%(Y%,X%):NEXT:NEXT:GOSUB *TNCONV
210 '
220 DATA 59, 0, 0, 0, 0, 0, 0, 0, 3, 0
230 DATA 31,15,10, 3, 0,32, 1, 3, 7, 0
240 DATA 31,15,14, 3, 0,23, 1, 1, 3, 0
250 DATA 31,15,10, 3, 1,26, 1, 5, 5, 0
260 DATA 31,12, 6, 7, 0, 4, 1, 2, 0, 0
270 TNO%=3 : TNAME$="SYNTH-1" : RESTORE 270
280 FOR Y%=0 TO 4 : FOR X%=0 TO 9:READ T%(Y%,X%):NEXT:NEXT:GOSUB *TNCONV
290 '
300 DATA 4, 0, 0, 0, 0, 0, 0, 0, 0, 0
310 DATA 31, 0, 0, 8, 0,16, 0, 1, 3, 0
320 DATA 31,13, 0, 6, 1,10, 0, 2, 3, 0
330 DATA 31, 0, 0, 8, 0,16, 0, 2, 7, 0
340 DATA 31,13, 0, 6, 1,10, 0, 4, 7, 0
350 TNO%=4 : TNAME$="SYNTH-2" : RESTORE 350
360 FOR Y%=0 TO 4 : FOR X%=0 TO 9:READ T%(Y%,X%):NEXT:NEXT:GOSUB *TNCONV
370 '
380 DATA 58, 0, 0, 0, 0, 0, 0, 0, 0, 0
390 DATA 31, 0, 0, 3, 0,44, 0, 5, 7, 0
400 DATA 31,10,10, 3, 0,43, 0, 9, 7, 0
410 DATA 31, 0, 0, 3, 0,20, 0, 1, 3, 0
420 DATA 25,10, 0, 7, 0,10, 0, 2, 3, 0
430 GOTO 630
440 *TNCONV
450 FOR I%=0 TO 9 : SWAP T%(2,I%),T%(3,I%) : NEXT
460 FOR I%=0 TO 3:J%=I%+1
470 D%( 8+I%)=(T%(J%,8) AND 7)*16+(T%(J%,7) AND 15)
480 D%(12+I%)=(T%(J%,5) AND 127)
490 D%(16+I%)=(T%(J%,6) AND 3)*64+(T%(J%,0) AND 31)
500 D%(20+I%)= T%(J%,1) AND 31
510 D%(24+I%)= T%(J%,2) AND 31
520 D%(28+I%)=(T%(J%,4) AND 15)*16+(T%(J%,3) AND 15)
530 NEXT
540 D%(32)=T%(0,0)
550 D%(33)=&HC0+((T%(0,7) AND 3)*16)+((T%(0,8) AND 7)) : D%(34)=0
560 A$=LEFT$(TNAME$+" ",8)
570 FOR I%=0 TO 7 : D%(I%)=ASC(MID$(A$,I%+1,1)) : NEXT
580 FOR I%=0 TO 47 STEP 2 : L&=D%(I%+1)*256+D%(I%)
590 IF L&<&H8000 THEN V%(I% \ 2)=CINT(L&) ELSE V%(I% \ 2)=CINT(L&-&H10000)
600 NEXT
610 VOICE TNO%,V% : RETURN
620 '-----------------------------------------------------
630 PLAY OFF
640 T$="T138O5L8U0Q8%C"
650 PLAY T$,T$,T$,T$,T$,T$,T$,T$,T$,T$,T$,T$,T$,T$
660 '-----------------------------------------------------
670 A$="@ 3O5V12L16 R4DRRRDDCDR4 RRFRRFRRRRGRRGRRRRRRRRRRE<EG>CACEA RRRRDRRRF<F>E<E>D<D>C<C>"
680 B$="@ 4O4V13L16 R2R4.<FA>D4.FGA<A>G<G>F<F>E<E>D2C2D4.>FGA<A>G<G>F<F>E<E"
690 C$="@ 1O4V 7 A1A2G2B-2A2A1"
700 D$="@ 1O4V 6 F1F2E2F 2E2F1"
710 E$="@ 1O4V 6 D1C2C2D 2C2D1"
720 F$="@ 2O2V10L16(D8>D<D)4(F8>F<F)(G8>G<G)(B-8>B-<B-)(A8>A<A)(D8>D<D)4"
730 G$="@ 3O4V15L8 (CRCR16C16CCRR)2CRCR16C16CCRR16C16 CRCR16C16CCRR"
740 H$="@ 2O4V15L8 (RRC4.RC4)2RRC8.C16RRC4 RRC4.RC16C16C16C16"
750 I$="@ 4O4V11 L16((GG %R5 G %C G GG%L5 G %C G)4)2"
760 O$="@15 L16<D2>R2R1R1R1"
770 O1$=" R1R1R1R2.GA>CD<"
780 PLAY A$,B$,C$,D$,E$,F$,"U+500"+G$,"U-500"+G$,"U+500"+H$,"U-500"+H$,I$,"O3V14"+O$,"O4V7"+O$,"O5V7"+O$
790 PLAY A$,B$,C$,D$,E$,F$,"U+500"+G$,"U-500"+G$,"U+500"+H$,"U-500"+H$,I$,O1$,O1$,O1$
800 '-----------------------------------------------------
810 A$="@82O4V14L16 D4.FGA<A>G<G>F<F>G<G>A4.GFG4B-8AGF4.GFE4C4D4.<FA>D4.R8"
820 B$="@82O4V11L16R U40 D4.FGA<A>G<G>F<F>G<G>A4.GFG4B-8AGF4.GFE4C4D4.<FA>D4.R16"
830 H$="@ 2O4V15 (RRC4.RC4)4"
840 O$="<D2>R2R1R1R2RRD8.D8."
850 PLAY A$,B$,C$,D$,E$,F$,G$,G$,H$,H$,I$,O$,O$,O$
860 PLAY A$,B$,C$,D$,E$,F$,G$,G$,H$,H$,I$,O$,O$,O$
870 '-----------------------------------------------------
880 A$=" D4.FGA8G8F8G8E4.EFG8F8E8G8F4. FGA8G8F8A8D4.EDD-2"
890 B$="R16D4.FGA8G8F8G8E4.EFG8F8E8G8F4. FGA8G8F8A8D4.EDD-4.&D-16"
900 C$="A2.A4G2.G4 F 2.F 4G4.G8G 2"
910 D$="F2.F4E2.E4 D 2.D 4E4.D8D-2"
920 E$="D2.D4C2.C4<B-2.B-4A4.A8A 2>"
930 F$="(D8>D<D)4(C8>C<C)4<(B-8>B-<B-)4(A8>A<A)4>"
940 O$="<D1C2E4.DC<B-1A2>>RRA8.A8."
950 PLAY A$,B$,C$,D$,E$,F$,G$,G$,H$,H$,I$,O$,O$,O$
960 '-----------------------------------------------------
970 A$=" D4.FGA8G8F8G8E4.EFG8F8E8G8F4. FGA8G8F8A8D4.EDA2"
980 B$="R16D4.FGA8G8F8G8E4.EFG8F8E8G8F4. FGA8G8F8A8D4.EDA4.&A16"
990 C1$="O4A2.A4G2.G4 F 2.F 4G4.G8]]]]]<(A16>D-16E16A16>)<<[[[[["
1000 D1$="O4F2.F4E2.E4 D 2.D 4E4.D8]]]]]<(D-16E16A16>D-16>)<<[[[[["
1010 PLAY A$,B$,C1$,D1$,E$,F$,G$,G$,H$,H$,I$,O$,O$,O$
1020 '-----------------------------------------------------
1030 A$="@6V11O4 %R((D>CD<DGA)3)3 D-E<A>D-E AEA>D-E"
1040 B$="@6V11O4 %L((A>GA<ACD)3)3<A>D-EA>D-A>D-EAD-"
1050 F$="(D8>D<D)4(C8>C<C)4<(B-8>B-<B-)4(A8>A<A)4>"
1060 PLAY A$,B$,C1$,D1$,E$,F$,G$,G$,H$,H$,I$,O$,O$,O$
1070 E$="D2.D4C2.C4<B-2.B-4 V15>A4.A16>D-16E4G4<"
1080 O$="<D1C2E4.DC<B-1A2>E4G4"
1090 PLAY A$,B$,C1$,D1$,E$,F$,G$,G$,H$,H$,I$,O$,O$,O$
1100 '-----------------------------------------------------
1110 A$="@1V14O2(D16D8D16R4R2R1)"
1120 B$="@1V12O4(A16A8A16R4R2R1)"
1130 C$="@4V14O5(D16D8D16R4R2R1)"
1140 D$="@4V12O4(A16A8A16R4R2R1)"
1150 E$="@4V12O4(F16F8F16R4R2R1)"
1160 F$=" (O2D8DD>CD<DD8D>CD<B->C<GA (DFADA>D<)DD>CD)2"
1170 F1$=" O2D8DDAGDD8D>CD<B->C<GA (DAFD>D<A)D>C<B-A FDDGDDADDB-DD>C<D>D<D>CD>D<CD>D-<CD>C<CDBCDB-A"
1180 G$="L16(CRCCRCRCRCRCCRCC)4"
1190 H$="L16(RRCRRCRR@8B32B32B@3CR@8G32G32G@2C8@9BBBB@2C@8BFCBF@2C@9EEE@2CC)2"
1200 O$="D16D8D16R4R2R1 D16D8D16R4R2R2.G32F32E32D32C8"
1210 I$="@ 4O4V11 L16((GG %R5 G %C G GG%L5 G %C G)2(GG@5G@4)4@6GGGG@4)2"
1220 PLAY A$,B$,C$,D$,E$,F$,G$,G$,H$,H$,I$,O$,O$,O$
1230 H$="L16CC@9B@2C@9F@2CC@9C@2V1((C]])4)2@8B32B32BBF32F32FF@2C8@9<CCCCCC>@2C8 RCRCRRCRCC @8BFC BFC@2(CC@3C@2)4CCCC"
1240 PLAY A$,B$,C$,D$,E$,F1$,G$,G$,H$,H$,I$,O$,O$,O$
1250 '-----------------------------------------------------
1260 LOOP=0
1270 A$="@16O5V 7 ((AA>%RA<%CA AA>%LA<%CA)4)2"
1280 B$="@ 4O4V12 F2.&F8EFG2>C2<(]]AGF[[AGFA8)3GFEGFEG8"
1290 C$="@ 1O4V 7 F 1G1A1A2.G4"
1300 D$="@ 1O4V 6 D 1E1F1F2.E4"
1310 E$="@ 1O4V 6 <B-1>C1D1D2.C4"
1320 F$=" O2 <(B-8>B-<B-)4>(C8>C<C)4((D8>D<D)2)3 GFEEDC<A8>"
1330 G$="@ 3O4V15L16 (CCCCRRCCRRCRRRRC)2L8CRCR16C16CCRR16C16 CRCR16C16CCRRL16"
1340 H$="@ 2O4V15L8 (RRC4.RC4)2RRC8.C16RRC4 RRC4.RC16C16C16C16"
1350 I$="@ 4O4V11 L16((GG %R5 G %C G GG%L5 G %C G)4)2"
1360 O$="@15 L16RRRRARRRA8GARRRRRRARRARRA8GAR>C8.<RRRRARRRA8GARRRRRRRRRRRR RRD8.D8."
1370 O1$="@15 B-1>C1D1R2 D8.D8.<"
1380 PLAY A$,B$,C$,D$,E$,F$,G$,G$,H$,H$,I$,O1$,O1$,O$
1390 PLAY A$,B$,C$,D$,E$,F$,G$,G$,H$,H$,I$,O1$,O1$,O$
1400 '-----------------------------------------------------
1410 B$=" F2.&F8EFG2>G4.FE FGRARGF8GFRE8DC8D2RE8.RE8.<"
1420 C$=" F 1G1A1A2 ]]R16G8.R16G8.[["
1430 D$=" D 1E1F1F2 ]]R16E8.R16E8.[["
1440 E$=" <B-1>C1D1D2]]R16C8.R16C8.[["
1450 F$=" O2 <(B-8>B-<B-)4>(C8>C<C)4((D8>D<D)4)2 "
1460 O$="@15 L16RRRRARRRA8GARRRRRRARRARRA8GAR>C8.<RRRRARRRA8GARRRRRRRRRRRR RC8.RC8."
1470 O1$="@15 B-1>C1D1R2RC8.RC8.<"
1480 PLAY A$,B$,C$,D$,E$,F$,G$,G$,H$,H$,I$,O1$,O1$,O$
1490 IF LOOP=1 THEN 670
1500 '-----------------------------------------------------
1510 A$="@3O4L16V9 ((A>DFA>D<AFD<)3 G>CEG>C<GEC<)2"
1520 B$="@3O4L16V7U40 (R(A>DFA>D<AFD<)3 G>CEG>C<GE<)2"
1530 F$="(((D8>D<D)2)3D8>D<D C8>C<C)2"
1540 G$="((CRRRCRRR)4)2"
1550 H$="(R1R2.C16C16C16C16)2"
1560 O$="(D8.D8.RRR2R2RGA>CR<A>CD<)2"
1570 PLAY A$,B$,,,,F$,G$,G$,H$,H$,I$,O$,O$,O$
1580 '-----------------------------------------------------
1590 A$="(FB->DFB-FD<B- G>CEG>C<GEC<)2 (FB->DF <G>CEG<)(B->DFCEG<)2DFEG"
1600 B$="R(FB->DFB-FD<B- G>CEG>C<GEC<)2 (FB->DF <G>CEG<)(B->DFCEG<)2DFE"
1610 F$="O2(<(B-8>B-<B-)2>(C8>C<C))2 (<B-8>B-<B->C8>C<C)2(<B->B-<B->C>C<C)<B->B- C>C<"
1620 G$="((CRRRCRRR)2)3CRRCRRCRRCRRCRCR"
1630 H$="(R2.C16C16C16C16)2RRCRRRCRR16CR16CR16CR16CC16C16C16C16"
1640 O$="D2E2D2E2D4E4D4E4D8.E8.D8.E8.D8E8"
1650 PLAY A$,B$,,,,F$,G$,G$,H$,H$,I$,O$,O$,O$:LOOP=1:GOTO 1270
5000 *めさーじゅ表示
5010 '------------------------------------------------------ONSHOKU SETTEI
5020 RESTORE 5050:DIM SON(23):SAD=VARPTR(SON(0)):FOR I=1 TO 1
5030 FOR ADD=8 TO 33:READ DT$:POKE SAD+ADD,VAL("&H"+DT$):NEXT ADD
5040 VOICE 9,SON:NEXT I
5050 DATA 3E,7F,30,73,0,0,0,0,1F,1F,1F,1F
5060 DATA 0,0,1C,1C,0,0,12,13,0,0,9,F,3C,C0
5070 '--------------------------------------------------------SYOKI SETTEI
5080 SCREEN @2:PALETTE:PASTEL:COLOR 0,[128,128,128]:CLS
5090 BGM 0:DEFINT A-Z:DEFSTR M,R
5100 T$="T180@106O2V9U0%CL64":PLAY T$+"@9",T$,T$+"U+3000"
5110 PALETTE 1,[8,8,8]:LINE (0,0)-(639,479),PSET,%1,BF
5120 '---------------------------------------------KEISEN:MEISAI:KYOKU MEI
5130 LINE (50,50)-(400,50),PASTEL,7:Y=100
5140 FOR I=0 TO 14:LINE (35,Y)-(605,Y),PASTEL,7:Y=Y+25:NEXT
5150 Y=5:FOR I=1 TO 3:READ M:SYMBOL (405,Y),M,1,1,2:Y=Y+19:NEXT
5160 READ M:SYMBOL (50,53),M,1,1,,,,8
5170 SYMBOL (103,455),"< : >-♪-< : >",1,1,7
5180 X=48:READ M:A=KLEN(M,0):FOR I=1 TO A:MOJ=KMID$(M,I,1)
5190 SYMBOL (X,15),MOJ,1,2,7,,,13
5200 IF MOJ=" " THEN PLAY "R":X=X+16:NEXT ELSE PLAY "C16":X=X+16:NEXT
5210 '-------------------------------------------------------------MESSAGE
5220 X=60:I=0:Y=83:R="BB-AA-GG-FEE-DD-C>G-GA-AB-B<":RESTORE *MESSAGE
5230 READ M
5240 SUU=KLEN(M,0)
5250 '
5260 *MAIN
5270 I=I+1:MOJ = KMID$(M,I,1)
5280 IF I=SUU+1 THEN I=0:GOTO 5230
5290 IF MOJ="@" GOTO *SYORI
5300 IF X=587 THEN X=60:Y=Y+25:PLAY ,R,R
5310 SYMBOL (X,Y),MOJ,1,1,C,,,9
5320 IF MOJ="?" OR MOJ="!" OR MOJ="・" THEN PLAY "<<C2>>":GOTO 5350
5330 IF MOJ=" " OR MOJ="、" THEN PLAY "<<C8>>":GOTO 5350
5340 IF MOJ="。" THEN PLAY "<<C4>>" ELSE PLAY "C64"
5350 X=X+17:GOTO *MAIN
5360 '
5370 *SYORI
5380 I=I+1:MOJ = KMID$(M,I,1)
5390 IF MOJ="E" GOTO *OWARI
5400 IF MOJ="R" THEN X=60:Y=Y+25:PLAY ,R,R:GOTO *MAIN
5410 C=VAL(MOJ$):GOTO *MAIN
5420 '---------------------------------------------------------MEISAI DATA
5430 DATA "* SKE.メサ-ジュシステム V2.1","* For 386 V1.1L20 / L21","*"
5440 DATA "作・編曲/SKEMARO"
5450 '--------------------------------------------------------MESSAGE DATA
5460 DATA " KNIGHT (未使用曲)":'DAIMEI 21 MOJI
5470 *MESSAGE
5480 DATA "@7 この曲も未使用曲です。@R"
5490 DATA " 実は、未使用ではなく、「KNIGHT」のBGMのお手伝いをさせて貰おうと思って、自己紹介の時にライオスさんに送った曲です。@R"
5500 DATA " これも、どっかで聴いた事のあるような感じですが、もう言い訳はしません。言い訳してたら、ほとんどの自作曲に言い訳しないと、いけなさそうだから。"
5501 DATA "それに、今は誰かの真似してても、たくさんやってるうちに、凄いオリジナル曲だって作れるようになると思うし。@R"
5510 DATA " ・・ううーん・・ちょっと内容と、文体が、固いなー。@R"
5520 DATA " ・・とうふ。 っと ・・あれ?@R"
5530 DATA " ・・ゼリー。 っと ・・まだ固いなー。@R@R"
5531 DATA "あああああああああああああああああ なしなし、今のなし。面白くねー&恥ずかしー。ああああああああああ、なんで なんでー。@R こんな基本的なボケー。ああああああああああああああ@E"
5540 '---------------------------------------------------------OWARI SHORI
5550 *OWARI
5560 SYMBOL (128,455),"PLAY START ANY KEY",1,1,2
5570 SYMBOL (368,455),"PLAY STOP PF1",1,1,%1:A$=INPUT$(1)
5580 SYMBOL (128,455),"PLAY START ANY KEY",1,1,%1
5590 SYMBOL (368,455),"PLAY STOP PF1",1,1,2:PLAY ,R,R
5600 BGM 1
5610 RETURN
65000 BGM 0:PLAY"R64":BGM 1
65010 CLOSE #1 :KEY(1) OFF:PLAY OFF:RUN"MENU.BAS"